package com.du.proxy;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.util.Arrays;

/**
 * @author : DuJiabao
 * @Date : 2021/2/4 9:51
 * @Project : spring
 * @File : null.java
 * @Desc :
 */
public class UserProxy implements InvocationHandler {
    private Object obj;

    public UserProxy() {
    }

    public UserProxy(Object obj) {
        this.obj = obj;
    }

    @Override
    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
        System.out.println("方法执行之前的增强" + method.getName() + Arrays.toString(args));
//        反射之后的方法调用方法
        Object res = method.invoke(obj, args);
        System.out.println("方法执行之后的增强");
        return res;
    }
}
